# scripts/algoinit.py
import os
import django
# 设置 Django 项目的配置
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'backend.settings')
# 初始化 Django
django.setup()

# 现在可以导入 Django 模型和其他模块
from tag.models import Tag
from algorithm.models import TagValue
from algorithm.models import TagImportance
from scripts.process_dependency_file import process_dependency_file
from algorithm.services import list_all_tag_importance,list_all_tag_values
# 这种写法没有利用封装好的类函数
# # 计算所有标签总分
# def create_all_tag_values():
#     # 遍历所有的标签
#     # 调用了标签的实例方法
#     for tag in Tag.objects.all():
#         # 计算每个标签的价值
#         tag_value = tag.calculate_tag_value()
#
#         # 创建或更新 TagValue
#         tag_value_obj, created = TagValue.objects.update_or_create(
#             tag=tag,
#             defaults={'tag_value': tag_value}
#         )
#         # 打印结果，用于确认
#         print(f'Successfully {"created" if created else "updated"} TagValue for tag {tag.index}')

TagValue.create_all_tag_value()
TagImportance.create_all_tag_importance()

# TagValue.clear_all_tag_value()
# TagImportance.clear_all_tag_importance()

# list_all_tag_importance()
# list_all_tag_values()

process_dependency_file()

from algorithm.models.tag_dependency import TagDependency
# TagDependency.clear_all_dependencies()
# TagDependency.print_all_dependencies()

